/**
 * 
 */
package com.et114.modules.products.cellphone.vo;

import com.et114.core.utility.NumberUtils;
import com.et114.modules.products.base.ProImage;
import com.et114.modules.products.brands.vo.Brand;
import com.et114.modules.products.commons.Const;
import com.et114.modules.products.proservices.ProService;
import com.et114.modules.products.vo.IPro;
import com.et114.modules.products.vo.ProBase;

import java.util.List;
import java.util.Map;

/*
 * @author guanhw
 */
public class CellPhone extends ProBase implements IPro {
	private static final long		serialVersionUID	= - 1959755676433194893L;
	
	private Double					disPrice;
	private String					model;
	private String					spec;
	private Byte					status;										// 常用，普通
	// private String cellPhoneAccess ;
	
	private Map < String , String >	cellPhonePros;
	
	private Byte					cypuMark;
	
	private List < ProImage >		proImageColors ;
	private List < ProImage >		proImages;
	
	private Long					servicesNums;
	private Long					paramNums;
	
	private String					subSql;
	

	private Long					brandId;
	private String					brandEgn;
	private String					brandImage;
	
	
	private List< String  >         baseFeatures ;
	private List< String  >         accessories ; 
	
	private String                  proIdSql ; 
	
	private Long                    proServiceTypeId ;  //查询用
	
	
	private ProService              orderProService;
	
	private String                  orderStr ; 
	
	/**
	 * 
	 */
	public CellPhone ( ) {
		// TODO Auto-generated constructor stub
	}
	
	public Map < String , String > getCellPhonePros ( ) {
		return cellPhonePros;
	}
	
	public void setCellPhonePros ( Map < String , String > cellPhonePros ) {
		this.cellPhonePros = cellPhonePros;
	}
	
	public Long getBrandId ( ) {
		return brandId;
	}
	
	public void setBrandId ( Long brandId ) {
		this.brandId = brandId;
	}
	
	public Double getDisPrice ( ) {
		return disPrice;
	}
	
	public void setDisPrice ( Double disPrice ) {
		this.disPrice = disPrice;
	}
	
	public String getModel ( ) {
		return model;
	}
	
	public void setModel ( String model ) {
		this.model = model;
	}
	
	public String getSpec ( ) {
		return spec;
	}
	
	public void setSpec ( String spec ) {
		this.spec = spec;
	}
	
	public Byte getStatus ( ) {
		return status;
	}
	
	public void setStatus ( Byte status ) {
		this.status = status;
	}

	public Byte getCypuMark ( ) {
		return cypuMark;
	}
	
	public void setCypuMark ( Byte cypuMark ) {
		this.cypuMark = cypuMark;
	}
	
	public List < ProImage > getProImageColors ( ) {
		return proImageColors;
	}
	
	public void setProImageColors ( List < ProImage > proImageColors ) {
		this.proImageColors = proImageColors;
	}
	
	public byte getProType ( ) {
		// TODO Auto-generated method stub
		return Const.PRO_TYPE_CELLPHONE;// Const.PRO_TYPE_CELLPHONE;
	}
	
	public Long getServicesNums ( ) {
		return servicesNums;
	}
	
	public void setServicesNums ( Long servicesNums ) {
		this.servicesNums = servicesNums;
	}
	
	public Long getParamNums ( ) {
		return paramNums;
	}
	
	public void setParamNums ( Long paramNums ) {
		this.paramNums = paramNums;
	}
	
	public String getSubSql ( ) {
		return subSql;
	}
	
	public void setSubSql ( String subSql ) {
		this.subSql = subSql;
	}
	
	public Brand getBrand ( ) {
		if ( ! NumberUtils.isEmptyOrZero ( brandId ) && brandEgn != null ) {
			return new Brand ( brandId , Byte.valueOf ( getProType ( ) ) ,
					brandEgn , brandImage );
		}
		return null;
	}
	
	public List < ProImage > getProImages ( ) {
		return proImages;
	}
	
	public void setProImages ( List < ProImage > proImages ) {
		this.proImages = proImages;
	}
	public String getBrandImage ( ) {
		return brandImage;
	}

	public void setBrandImage ( String brandImage ) {
		this.brandImage = brandImage;
	}

	public String getBrandEgn ( ) {
		return brandEgn;
	}

	public void setBrandEgn ( String brandEgn ) {
		this.brandEgn = brandEgn;
	}
	
	/*
	public boolean equals ( Object obj ) {
		if ( obj == null ) {
			return false;
		}
		if ( ! ( obj instanceof CellPhone ) ) {
			return false;
		}
		CellPhone u = ( CellPhone ) obj;
		if ( u.getProId ( ) != null && getProId ( ) != null )
			return ( u.getProId ( ).equals ( getProId ( ) ) );
		return super.equals ( obj );
	}
	
	public int hashCode() {   
		if ( getProId ( ) != null  ) {
			return getProId ( ).hashCode ( ) ;
		}
		return super.hashCode ( );
	}
*/
	public List < String > getBaseFeatures ( ) {
		return baseFeatures;
	}

	public void setBaseFeatures ( List < String > baseFeatures ) {
		this.baseFeatures = baseFeatures;
	}

	public List < String > getAccessories ( ) {
		return accessories;
	}

	public void setAccessories ( List < String > accessories ) {
		this.accessories = accessories;
	}

	public String getProIdSql ( ) {
		return proIdSql;
	}

	public void setProIdSql ( String proIdSql ) {
		this.proIdSql = proIdSql;
	}

	public ProService getOrderProService ( ) {
		return orderProService;
	}

	public void setOrderProService ( ProService orderProService ) {
		this.orderProService = orderProService;
	}

	public Long getProServiceTypeId ( ) {
		return proServiceTypeId;
	}

	public void setProServiceTypeId ( Long proServiceTypeId ) {
		this.proServiceTypeId = proServiceTypeId;
	}

	public String getOrderStr ( ) {
		return orderStr;
	}

	public void setOrderStr ( String orderStr ) {
		this.orderStr = orderStr;
	}  
	
	
}
